1
การเปลี่ยนแนวคิดเชิงขนาน: การแปลงตรรกะแบบลำดับเป็นเธรดบนหน่วยประมวลผลกราฟิก (GPU)
AI024Lesson 4
00:00

การ เปลี่ยนแนวคิดเชิงขนาน แสดงถึงการเปลี่ยนแปลงหลักในปรัชญาการคำนวณจาก ลำดับตามเวลา (ทำสิ่งหนึ่งแล้วตามด้วยอีกสิ่งหนึ่ง) เป็น การแจกจ่ายเชิงพื้นที่ (การทำทุกอย่างพร้อมกันทั่วทั้งเครือข่าย)

1. หลักการสรุปเบื้องต้นด้านความเป็นอิสระ

นี่คือกฎทองคำของการประมวลผลด้วยหน่วยประมวลผลกราฟิก (GPU): “ทุกครั้งที่ปัญหาของคุณคือ 'นำไปใช้กับองค์ประกอบจำนวน N อย่างอิสระ' นี่คือแนวทางแรกที่ควรลอง” แนวทางการประมวลผลแบบขนานข้อมูลนี้คือผลลัพธ์ที่ได้ง่ายที่สุดจากการเร่งความเร็วของหน่วยประมวลผลกราฟิก (GPU) โดยที่ภาระงานในการจัดการเธรดจะถูกลบล้างโดยประสิทธิภาพสูงสุดในการประมวลผลพร้อมกันจำนวนมาก

2. ความแม่นยำและความจุของข้อมูล

เคอร์เนลแบบ HIP มักจัดการกับอาร์เรย์ขนาดใหญ่ของประเภทพื้นฐาน สำหรับกราฟิกประสิทธิภาพสูงและระบบเรียนรู้ของเครื่อง เราใช้ float (ความแม่นยำแบบเดี่ยว) ในขณะที่การจำลองทางวิทยาศาสตร์ที่ต้องการความเสถียรทางตัวเลขสูงใช้ double (ความแม่นยำแบบสองเท่า)

โปรเซสเซอร์: เชิงเวลาจุดเปลี่ยนหน่วยประมวลผลกราฟิก: เชิงพื้นที่

3. จากการวนซ้ำไปสู่การครอบครอง

ในโค้ดโปรเซสเซอร์ หน่วยประมวลผล "เยี่ยมชม" ข้อมูลผ่านการวนซ้ำ ในตรรกะของหน่วยประมวลผลกราฟิก ข้อมูล "ครอบครอง" เธรด คุณหยุดเขียน วิธีการวนซ้ำ และเริ่มเขียน สิ่งที่เวิร์กเกอร์แต่ละตัวควรทำที่ตำแหน่งเฉพาะ.

$$\text{ดัชนี } i = \text{blockIdx.x} \times \text{blockDim.x} + \text{threadIdx.x}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>